package com.nts.pmchelperdemo3.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;
import java.io.Serializable;

/**
 * 排班计划实体类（映射排班计划表）
 */

@Data
@TableName("t_scheduling") // 数据库表名
public class Scheduling implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 排班记录主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 关联机器ID（关联t_machine表的id）
     */
    private Long machineId;

    /**
     * 关联订单ID（关联t_order表的id）
     */
    private Long orderId;

    /**
     * 任务类型（0-磨刀，1-涂层）
     */
    private Integer taskType;

    /**
     * 该机器处理的数量（单台机器分配的数量，不超过machine.maxCapacity）
     */
    private Integer handleQuantity;

    /**
     * 任务开始时间（排班计算得出）
     */
    private LocalDateTime taskStartTime;

    /**
     * 任务结束时间（排班计算得出，含工作时间和调试时间）
     */
    private LocalDateTime taskEndTime;

    /**
     * 任务类型说明：
     * - 0：磨刀任务（对应磨刀机）
     * - 1：涂层任务（对应涂层机）
     */
}
